package com.ag.lzw.service;

import java.util.List;
import java.util.Map;

import com.ag.bean.TbOverRequest;
import com.ag.bean.TbUser;
import com.ag.common.PageUtil;
import com.ag.lzw.vo.FeedBackVo;
import com.ag.lzw.vo.NewTaskVo;
import com.ag.lzw.vo.TaskDetail;
import com.ag.lzw.vo.TaskOverVo;
import com.ag.lzw.vo.TrackVo;

/**
 * @author zhiweiofli
 * 管理任务的功能接口
 * */
public interface HandelTasks {


	public boolean saveOverRequest(TaskOverVo Over);
	public boolean saveOverTask(TaskOverVo over) ;
	public boolean saveOverFail(TaskOverVo over);
	public boolean getBackTaskOverRequest(TaskOverVo over);
	public boolean directSaveOverTask(TaskOverVo over);
	/**
	 * 分页查询属于一个任务的办结
	 * @param queryOption
	 * @return PageUtil
	 */
	public PageUtil getOverRequestByPage(Map<String, String> queryOption);
	public List<TbOverRequest> findTboverRequestByToId(String toid);        //根据任务办结申请表查找办结申请

	/**
	 * 保存新任务
	 * @param tasks
	 * @return
	 */
	public boolean saveTasks(List<NewTaskVo> tasks);
	/**
	 * 根据用户ID分页查询任务
	 * @param page 要查询的页数
	 * @param uid 用户ID
	 * @return PageUtil
	 */
	public PageUtil queryTaskByPage(Map<String, String> queryOption,String uid,boolean isLeader);
    /**
     * 查询当前用户的任务
     * @param uid
     * @return List
     */
	public List queryTaskofUser(String uid);
	/**
	 * 根据任务ID查询其详情
	 * @param tid
	 * @return TaskDetail
	 */
	public TaskDetail queryTaskById(String tid);
	/**
	 * 在第一次查看任务后改变其状态
	 * @param tid 任务ID
	 */
	public void queryNewTaskAtFirst(String tid);
	/**
	 * 改变任务状态的方法
	 * @param tid 任务ID
	 * @param i 状态代号
	 */
	public void changeTaskStatus(String tid,String sid);
}
